'Cloud/Building up Openstack' 카테고리의 글 목록
Loading...

Stein 오픈스택 클라우드 서버 구축(16) - Neutron 기반 Service Function Chaining (SFC) 기능 추가하기

blog post 오픈스택에서 네트워킹 기능을 전담하는 컴포넌트로 Neutron이 있습니다. Public & Private 네트워크 구성부터 서브네팅, 라우터, DHCP, 패킷 포워딩 등, 다양한 기능을 수행하죠. 하지만 Neutron의 기능은 이게 끝이 아닙니다. 기본 기능에서 확장하여 추가 기능들을 사용할 수 있습니다. 아래 링크에서 보시면 어떠한 추가 기능들이 있는지 대략적으로 살펴볼 수 있습니다. OpenStack Docs: Configuration docs.openstack.org 이번 포스트에서는 Neutron을 확장하여 Service Function Chaining(이하 SFC)으로 불리는 기능을 추가해 보도록 하겠습니다. 참고로, 오픈스택 클라우드 시스템을 운영하는 과정에 있어 반드시 필요..

2020. 5. 12. 00:35

Stein 오픈스택 클라우드 서버 구축(15) - 오픈스택 대시보드 메인 로고 및 링크 변경하기

blog post 오픈스택 클라우드에 기능을 추가하고 분석하는 과정에서 문뜩 대시보드 메인 로고를 바꿔보고 싶은 생각이 들었습니다. 비록 웹 서버 개발자는 아니지만, 로고를 어떻게 커스터마이징 할 수 있을지 궁금했습니다. 그래서 이번 포스트에서는 잠시 대시보드를 커스터마이징 하는 방법에 대해 알아보도록 하겠습니다. 기본 로고 변경 현재 저의 CentOS7 HTTP 서비스 기반 대시보드 로그인 화면은 아래와 같이 기본 오픈스택 로고가 박힌 화면입니다. 이 메인 로그인 페이지에서 직접 제작한 로고 이미지로 변경해 보겠습니다. 방법은 간단합니다. 다음의 경로에서 "logo-splash.svg" 파일만 변경해 주면 됩니다: /usr/share/openstack-dashboard/openstack_dashboar..

2020. 5. 10. 22:41

Stein 오픈스택 클라우드 서버 구축(14) - SSL (HTTPS) 접속 가능한 오픈스택 대시보드 구성하기

blog post 처음 오픈스택 서비스를 구성하면 대시보드가 기본 HTTP (80포트)로 서비스 되는 것을 볼 수 있습니다. 아시다시피 HTTP는 통신 과정에서 세션 암호화를 하지 않기 때문에 여러가지 보안 취약점에 노출될 수 밖에 없습니다. 이에 따라, SSL 암호화 통신을 제공하는 HTTPS로 접근할 수 있도록 대시보드를 재구성해 보겠습니다. 물론 오픈스택 대시보드 역시 HTTPD 기반으로 제공되는 서비스이므로, 기존의 아파치 웹 서버 구성과 크게 다를 바 없습니다. 인증서 생성 SSL 통신에서 필요한 요소 중 하나가 바로 인증서 입니다. openssl을 통해 간단하게 인증서를 하나 발급받도록 하겠습니다. 만약 기존에 사용중인 인증서가 있다면 해당 인증서를 사용해도 무관합니다. 먼저 인증서를 저장할 ..

2020. 5. 9. 09:32

Stein 오픈스택 클라우드 서버 구축(13) - Swift 서비스를 활용한 오브젝트 스토리지 구성하기

blog post 오픈스택의 Swift를 활용하면 다양한 방식으로 오브젝트 스토리지를 구성할 수 있습니다. 어떻게 구성하느냐에 따라 기존 Cinder서비스와 연동하여 블록 스토리지의 백업 서버로 활용할 수도 있고, Glance 이미지 저장 공간으로 활용할 수도 있습니다. 이번 포스트에서는 이 Swift 컴포넌트를 활용하여 사용자의 비정형 데이터를 저장할 수 있는 스토리지를 구축해 보도록 하겠습니다. 전체 구성 전체 구성은 아래와 같습니다. 기존 구성에서 네트워크 노드와 3개의 오브젝트 스토리지가 사용됩니다. 우선 컨트롤러 노드에는 swift 관련 별다른 패키지는 설치하지 않습니다. 다만 keystone을 통해, user, endpoint 등의 정보로만 swift를 등록해둠으로써, 컨트롤러는 swift 서..

2020. 4. 13. 01:08

Stein 오픈스택 클라우드 서버 구축(12) - NFS,LVM 기반 다중 블록 스토리지 노드 구성하기 (Feat. GlusterFS, GFS)

blog post 이번 포스트에서는 지난 포스트에서 구축했던 LVM 기반 블록 스토리지 노드에 NFS 백엔드를 추가하여 멀티 블록 스토리지 노드를 구성해 보겠습니다. 포스트 마지막에는 Cinder와 GlusterFS 문제에 대해서도 간단하게 짚고 포스팅을 마치도록 하겠습니다. 관련 포스트: Stein 오픈스택 클라우드 서버 구축(11) - LVM으로 블록 스토리지 구성하기 NFS 개념 및 전체 구성 NFS(Network File System)는 물리적으로 떨어져 있는 파일 시스템에 외부에서 원격으로 접근할 수 있도록 하는 네트워크 프로토콜이자 서비스입니다. 아래 그림과 같이 NFS 서버가 동작중인 장치의 디렉토리를 클라이언트에서 마운트 하여 사용할 수 있습니다. 오픈스택의 Cinder 서비스는 LVM 뿐..

2020. 4. 12. 14:37

Stein 오픈스택 클라우드 서버 구축(11) - LVM으로 블록 스토리지 백엔드 구성하기

blog post 이번 포스트에서는 앞서 구축한 블록 스토리지의 백엔드로 LVM 드라이브를 지정하고, 실제 볼륨을 생성하는 과정까지 진행해 보도록 하겠습니다. 전체 구성 본 포스트를 통해 아래와 같이 기존 Block Storage가 LVM을 기반으로 동작하도록 구성됩니다. 스토리지 노드 파티션 구성 LVM 드라이브를 활용하게 되므로, 스토리지 노드의 리눅스 파티션 구성이 중요합니다. 저의 경우, LVM 블록 스토리지 노드는 현재 아래와 같이 구성되어 있습니다. 전체 50GB의 디스크에서 약 2GB를 제외한 나머지는 전부 'centos' LVM 볼륨그룹으로 할당하였습니다. 여기에서 루트 파티션 10GB를 제외한 약 38GB의 공간이 오픈스택 블록 스토리지를 위해 할당될 예정입니다. 이 글을 보시는 분들도 ..

2020. 4. 10. 22:31

Stein 오픈스택 클라우드 서버 구축(10) - 블록 스토리지 노드 및 Cinder 서비스 구성

blog post 이번 포스트에서는 앞서 1차 구축을 완료한 컨트롤러/네트워크/컴퓨트 노드에 이어, 블록 스토리지 노드를 추가해 보도록 하겠습니다. 블록 스토리지는 가상머신으로 동작 중인 윈도우, 리눅스 시스템 등의 인스턴스에 볼륨을 추가 제공하기 위한 용도로 주로 활용됩니다. 따라서 이 노드의 경우, 스토리지 노드 자체의 가용 공간도 넉넉해야하며, (컴퓨트 노드와 스토리지 노드가 분리되어 있는 경우) 데이터가 iscsi와 같은 네트워크 프로토콜을 사용하여 전달되므로 네트워크 퍼포먼스도 중요한 요소가 됩니다. 오픈스택의 블록 스토리지는 LVM, NFS, GlusterFS(GFS) 등의 드라이브를 백엔드로 배치할 수도 있고, CEPH으로 다중 클러스터 백엔드를 구축할 수도 있습니다. 본 포스트에서는 백엔드..

2020. 2. 11. 18:18

Stein 오픈스택 클라우드 서버 구축(9) - 대시보드 서비스(Horizon) 구축 및 대시보드 기본 구조

blog post 기본적인 오픈스택 클라우드 서비스 구축 마지막 단계 입니다. 이번 포스팅에서는 대시보드 서비스를 제공하는 Horizon 서비스를 구성해 보도록 하겠습니다. Horizon은 httpd 기반으로 동작하며, 컨트롤러 노드에서 서비스를 제공하므로 아래 과정은 컨트롤러 노드에서 진행합니다. 1. Horizon 서비스 설치 및 설정 Horizon 서비스를 설치합니다. [root@Controller ~]# yum --enablerepo=centos-openstack-stein,epel -y install openstack-dashboard 다음과 같이 대시보드 및 httpd 관련 설정을 진행합니다. [root@Controller ~]# vi /etc/openstack-dashboard/local_s..

2020. 2. 11. 13:06

Stein 오픈스택 클라우드 서버 구축(8) - 테넌트 네트워크 환경 구축

blog post 본 포스팅에서는 테넌트 네트워크를 제공하기 위한 설정을 진행해 보도록 하겠습니다. 앞서 네트워크 서비스 포스트에서 구성을 마무리하며 말씀드린 것과 같이 실제 VM이 사용하기 위한 가상의 테넌트 네트워크를 구성하기 위한 추가 설정이 필요합니다. 가상 네트워크를 구성하기 위해 오픈스택에서 제공하는 l2 네트워크 인터페이스 타입에는 여러가지가 있습니다. 대표적으로 flat, vlan, gre, vxlan 등의 l2 네트워크 인터페이스 타입을 지정할 수 있습니다. 각 인터페이스를 어떻게 사용하는가에 따라 호스트 시스템에서 동작하는 네트워크 인터페이스 구성이 달라집니다. 각 l2 인터페이스에 대해서는 추후에 별도로 다루도록 하겠습니다. 본 클라우드 구축 과정에서는 다음과 같이 구성해 보도록 하겠..

2020. 2. 9. 15:24

Stein 오픈스택 클라우드 서버 구축(7) - 네트워크 서비스 (Neutron) 설치 및 구성

blog post 이번 포스팅에서는 VM의 네트워킹 서비스를 제공하는 Neutron 서비스를 구축해보도록 하겠습니다. 특히 이번 과정에서는 앞서 구성 개요 포스트에서 말씀드린 것과 같이 VM의 네트워크 트래픽 처리를 전담하는 별도의 노드(이하 네트워크 노드)를 구성할 계획입니다. 별도 노드 없이 개별 컴퓨트 노드에서 vm 네트워크 트래픽을 자체적으로 처리하는 구성도 추후에 따로 다루도록 하겠습니다. 1. 전체 구성 본 포스팅을 통해 다음과 같은 서비스를 최종적으로 구성해 보도록 하겠습니다. 이번 네트워크 서비스를 구성하는 과정에서 위와 같이 총 3개의 노드가 구축됩니다. 기본적인 네트워킹 기능은 Neutron을 통해 제공되며, VM이 Neutron을 통해 네트워킹 서비스를 활용할 수 있어야 하므로 Nov..

2020. 1. 31. 15:07

Stein 오픈스택 클라우드 서버 구축(6) - 컴퓨트 서비스 (Nova) 설치 및 구성

blog post 이번 포스트에서는 오픈스택의 핵심 기능이라고 볼 수 있는 Nova 컴퓨트 서비스를 구축하는 과정에 관하여 다루도록 하겠습니다. Nova 서비스에 대한 기본 내용은 해당 포스트를 참고하시기 바랍니다. [바로가기] 1. 전체 구성 이번 포스트에서 구축할 서비스 구성은 아래와 같습니다. 앞서 전체 오픈스택 시스템 구성 포스팅에서 컴퓨트 노드를 분리하기로 하였습니다. 이번 포스팅에서 nova-compute 서비스가 Compute0 노드에 구성됩니다. 따라서 이번 포스트에서는 컨트롤러와 컴퓨트 노드를 구분하여 진행하도록 하겠습니다. 컨트롤러 노드 구성 컨트롤러 노드에는 인스턴스 사용자의 vm 관련 명령을 해당 컴퓨트 노드에 전달하는 역할을 담당합니다. 이 밖에도 여러 컴퓨트 노드가 멀티 구성인 ..

2020. 1. 30. 15:47

Stein 오픈스택 클라우드 서버 구축(5) - 이미지 서비스 (Glance) 설치 및 구성

blog post 이번 포스트에서는 인증 서비스(Keystone)에 이어 이미지 관리 서비스(Glance)를 구축해 보도록 하겠습니다. 본 과정은 모두 컨트롤러 노드에서 진행되며, Glance 관련 기본 내용은 해당 포스트를 참고하시기 바랍니다. [바로가기] 1. 전체 구성 이번 포스트를 통해 구성될 컨트롤러 노드 서비스 구성은 다음과 같습니다. 2. Glance 서비스 사용자 및 역할 추가 앞서 인증서비스(Keystone) 관련 포스트에서 사용자나 서비스는 API 통신을 위해 인증 및 승인 절차가 필요하다고 했습니다. 따라서 일반 사용자 뿐만 아니라 오픈스택 컴포넌트들도 사용자로서 도메인과 역할(role), 프로젝트에 귀속되어야 하고 서비스간 질의 응답을 위한 endpoint url 등이 지정되어야 합..

2020. 1. 28. 18:30

Stein 오픈스택 클라우드 서버 구축(4) - 인증 서비스 (Keystone) 설치 및 구성

blog post 이번 포스트에서는 Keystone 인증 서비스를 구축해 보겠습니다. 이번 작업 역시 컨트롤러 노드에서 진행되며, Keystone에 대한 개념은 앞서 포스팅했던 글을 참고하시기 바랍니다 [바로가기] 1. 전체 구성 컨트롤러 노드에 구성될 서비스는 다음과 같습니다. 2. DB 생성 앞서 설치한 MariaDB에 Keystone 서비스에 필요한 데이터를 저장하기 위한 DB를 생성하고 권한을 부여합니다. [root@Controller ~]# mysql -u root -p Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 9 Server version: 10.3..

2020. 1. 28. 15:30

Stein 오픈스택 클라우드 서버 구축(3) - 오픈스택 기본 패키지 설치 (update 2020.01.28)

blog post 이번 포스팅에서는 오픈스택 관련 기본 패키지를 세팅하는 과정에 관하여 다루도록 하겠습니다. 본 과정은 컨트롤러 노드에서 진행합니다. 패키지 구성 컨트롤러 노드에 구성될 패키지는 다음과 같습니다. - MariaDB: 오픈스택 서비스 및 VM 관련 설정들을 보관하기 위해 사용됩니다. - RabbitMQ: 오픈스택 서비스 간 상호 메시지를 주고 받기 위한 메시지 큐로 사용됩니다. - Memcached: 범용 분산 메모리 캐시 시스템으로, 자주 외부 데이터에 접근해야 하는 경우에 발생하는 오버헤드를 줄이기 위해 메모리에 캐싱하고 읽어들이는 역할을 담당합니다. 오픈스택 서비스에서는 주로 인증 메커니즘에서 토큰 캐싱을 위해 사용됩니다. 1. 오픈스택 패키지 설치 및 레포지토리 구성 오픈스택 패키지..

2018. 1. 25. 23:37

Stein 오픈스택 클라우드 서버 구축(2) - 시스템 구성 (update 2020.01.28)

b l o g p o s t 앞서 멀티노드 구성 개요에서 언급한 바와 같이 3개의 노드(컨트롤러, 컴퓨트, 네트워크)를 구성하기위해 본 포스팅에서는 각 노드별로 오픈스택 서버를 구축하기 위한 시스템 초기화를 진행해 보겠습니다. 노드별로 구성될 호스트는 총 3대(컨트롤러, 컴퓨트0, 네트워크 노드)입니다. 성능을 고려하면 물리 디바이스로 구축되어야 하는 것이 맞지만, 저의 경우 앞서 개요에서 언급한 바와 같이 컨트롤러와 네트워크는 VMware를 통한 가상머신으로 구축하고 컴퓨트0 노드만 물리 장비로 구축합니다. 1. OS 구성 모든 노드의 OS 및 커널 버전은 아래 버전으로 통일하였습니다. 구체적인 OS 설치 과정은 생략합니다. CentOS 7, Linux 3.10.0-1062.4.1.el7.x86_64 ..

2018. 1. 24. 23:17

Stein 오픈스택 클라우드 서버 구축(1) - 개요 (update 2020.01.23)

b l o g p o s t 지난번 개인 오픈스택 클라우드 시스템 구축 프로젝트를 진행하던 도중 개인 사정으로 잠시 중단했는데 다시 시작합니다. 본 포스팅은 기존 Ocata 버전으로 구축을 진행하고자 하였으나, 어느새 오래된 버전이 되었네요. 현재 Train 버전까지 릴리즈 된 상태지만, 저는 Stein 버전으로 진행해 보겠습니다. 본 포스팅은 시리즈로 작성될 예정이며, 오픈스택에 대한 개념적 설명에 대해서는 진행 과정에서 필요한 경우에 따라 간략하게 정리하거나 별도의 포스팅으로 따로 다뤄보도록 하겠습니다. 자세한 설명은 오픈스택 재단의 기술문서를 참고하시기 바랍니다. 전체 시스템 구성 본 프로젝트를 진행하는 과정은 하드웨어 자원 구성부터 OS 설치 및 기본 네트워크 세팅, 오픈스택 구성, 가상 네트워크..